package models

import "time"
import "gorm.io/gorm"

type Doctors struct {
	Id        uint64         `gorm:"column:id;type:bigint UNSIGNED;comment:医生id;primaryKey;not null;" json:"id"`                               // 医生id
	Name      string         `gorm:"column:name;type:varchar(20);comment:医生姓名;not null;" json:"name"`                                          // 医生姓名
	Account   string         `gorm:"column:account;type:varchar(20);comment:医生账号;not null;" json:"account"`                                    // 医生账号
	Password  string         `gorm:"column:password;type:char(36);comment:医生密码;not null;" json:"password"`                                     // 医生密码
	CreatedAt time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`                          // 删除时间
}

func (d *Doctors) TableName() string {
	return "doctors"
}

type Patients struct {
	Id       uint64 `gorm:"column:id;type:bigint UNSIGNED;comment:患者id;primaryKey;not null;" json:"id"`                // 患者id
	Name     string `gorm:"column:name;type:varchar(20);comment:患者姓名;not null;" json:"name"`                           // 患者姓名
	Age      uint64 `gorm:"column:age;type:bigint UNSIGNED;comment:患者年龄;not null;default:0;" json:"age"`               // 患者年龄
	Room     string `gorm:"column:room;type:varchar(255);comment:患者病房;not null;" json:"room"`                          // 患者病房
	Sex      uint8  `gorm:"column:sex;type:tinyint UNSIGNED;comment:患者性别 1:男 2:女;not null;default:0;" json:"sex"`      // 患者性别 1:男 2:女
	Content  string `gorm:"column:content;type:text;comment:患者病情;not null;" json:"content"`                            // 患者病情
	DoctorId uint64 `gorm:"column:doctor_id;type:bigint UNSIGNED;comment:患者主治医生;not null;default:0;" json:"doctor_id"` // 患者主治医生
}

func (p *Patients) TableName() string {
	return "patients"
}
